﻿<?php

	// 新闻分类编辑

	ob_clean();//清除缓存

	$id=!empty($_GET['id'])?$_GET['id']:'';//获取地址栏中参数名是id的值

	if (!empty($_POST)) {
		//获取$_POST数据
		// $name=$_POST['name'];//分类名称
		// $pid=$_POST['pid'];//上级分类
		// //编写更新的sql语句
		// $sql="update `cate` set `name`='$name',`pid`='$pid' where `id`=$id ";
		// //执行sql语句
		// mysqli_query($link,$sql);
		// //获取更新语句受影响的行数（就是更新之后的数据的记录总数）
		// $_rows=mysqli_affected_rows($link);

		//调用封装
		$data=$_POST;
		$where="id=".+$id;
		$_rows=edit('cate',$where,$data);
// echo $_rows;
		if ($_rows>0) {
				echo '<script>alert("分类编辑成功");location.href="index.php?c=cate&a=list&admin=1";</script>';
			//header('location:index.php?c=news&a=list&admin=1');//通过使用header函数对页面的头部信息进行设置
		}else
		{
			echo '<script>alert("分类编辑失败");history.go(-1);</script>';
		}
	}

	//调用封装:双击分类的时候弹出分类下拉列表
	// $id=!empty($_GET['id'])?$_GET['id']:'0';
	// $where2="id=".+$id;
	// $datas=getSelectByOne('cate',$where2);
	// $cates=editCate($datas);

	// //判断是否是ajax发送的请求
	// if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
	// 	echo json_encode($cates);die;
	// }


	//$id=$_GET['id'];//获取地址栏中参数名是id的值
	$id=!empty($_GET['id'])?$_GET['id']:'';

	// $cate=array();//重组的分类数组

	//编写查询语句,查询当前要编辑的数据
	// $sql="select * from `cate` where id=$id";
	// $result=mysqli_query($GLOBALS['link'],$sql);
	// $data=mysqli_fetch_assoc($result);

	//调用封装
	$where="id=".+$id;
	$data=getSelectByOne('cate',$where);

	// //查询同级数据
	//	$cate=editCate($data['pid']);//查询的分类id，传到函数里面去找其同级·
	//原本是传递pid，但现在改成传递整个数据，一位数组
	//因为如果只传递id的话，就没有办法获取到子级数据的id
	$cate=editCate($data);
	//判断是否是ajax发送的请求
	if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
		echo json_encode($cate);die;
	}
	// print_r($cate);die;
	//递归
	//function editCate($pid,$cate=array()){
	// function editCate($data,$cate=array()){//$data把查到的当前修改的分类整个传进来
	// 	//print_r($data);die;
	// 	$pid=$data['pid'];//先获取当前分类的pid
	// 	//查找当前分类
	// 	$sql="select * from `cate` where pid=$pid";
	// 	$result=mysqli_query($GLOBALS['link'],$sql);
	// 	//循环将查询到的同级存储到重组数组中
	// 	while ($arr=mysqli_fetch_assoc($result)) {
	// 		//$cate[$arr['pid']][]=$arr;//将查询到同级数据存储到临时数组中
	// 		$cate[$data['id']][]=$arr;//$data当前分类的数据的id。[$data['id']]对应的下标是二维数组
	// 		//print_r($cate);die;
	// 	}
	// 	//print_r($cate);die;
	// 	//如果没有找到顶级才去找父级
	// 	if ($pid!=0) {
	// 			//找父级
	// 			$sql="select * from `cate` where id=$pid";
	// 			//执行
	// 			$result=mysqli_query($GLOBALS['link'],$sql);
	// 			//获取数据
	// 			$data=mysqli_fetch_assoc($result);
	// 			//print_r($data);die;
	// 			//调用自身找父级的同级
	// 			//$cate=editCate($data['pid'],$cate);
	// 			$cate=editCate($data,$cate);
	// 	}
	// 	//return $cate;//当找不到的时候，返回
	// 	return $cate=array_reverse($cate,true);
	// }

	//print_r($cate);die;//得到正确的值
	//以上得到的数组为顺序，要将数组进行倒序显示
	//array_reverse() 函数将原数组中的元素顺序翻转，创建新的数组并返回。
	//$cate=array_reverse($cate);
	//print_r($cate);die;得到错误的值。在这里输出，得不到在上面输出的值，因为array_reverse($cate);是倒序输出，下标不保留

	//解决 true表示在对数组进行排序的时候保留原来的下标
	//$cate=array_reverse($cate,true);//用true可以保留原有的下标，不会重新生成
	//print_r($cate);die;

	//加载后台公共视图
	include (VIEW_PATH.$admin.'layout.html');
 ?>
